home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Your Apple Games Gallery 1
/
Your Apple Games Gallery (Side B)(MicroSPARC, Inc.)(1988).do
/
TRIVIA.FILER.bas
< prev
next >
Wrap
BASIC Source File
|
2021-12-11
|
6KB
|
131 lines
1 REM **********************
2 REM * TRIVIA.FILER *
3 REM * BY SCOTT JACKSON *
4 REM * COPYRIGHT (C) 1985 *
5 REM * BY MICROSPARC, INC *
6 REM * CONCORD, MA 01742 *
7 REM **********************
100 DOS$ = CHR$(4)
110 ONERR GOTO 1050
120 GOSUB 1120: ONERR GOTO 1270
130 TEXT : HOME
140 VTAB 1: HTAB (20 -( LEN(SL$)/2)): PRINT SL$: VTAB 4: HTAB 10: PRINT "--- TRIVIA FILER ---"
150 VTAB 7: PRINT " :1: INPUT QUESTION GROUP"
160 PRINT : PRINT " :2: EDIT QUESTION GROUP"
170 PRINT : PRINT " :3: END"
180 VTAB 20: PRINT "** COPYRIGHT 1985 BY MICROSPARC, INC. **": VTAB 15: INPUT "SELECT OPTION: ";Y$
190 IF Y$ = "1" THEN GOSUB 230
200 IF Y$ = "2" THEN GOSUB 640
210 IF Y$ = "3" THEN HOME : END
220 GOTO 130
230 REM
240 IF RN > = 99 THEN HOME : PRINT CHR$(7); CHR$(7): PRINT "QUESTION FILE HAS BEEN FILLED.": PRINT : INPUT "PRESS <RETURN> TO CONTINUE: ";Y$: RETURN
250 HOME : PRINT "THIS WILL BE RECORD #";RN +1;" OUT OF 99."
260 FOR I = 1 TO 40: PRINT "-";: NEXT
270 VTAB 4: FOR I = 1 TO 4: HTAB 1: PRINT "ANSWER #";I;":": INPUT "";A$(I):A$(I) = LEFT$(A$(I),35): NEXT
280 POKE 34,16: HOME
290 FOR I = 1 TO 4: PRINT "QUESTION #";I;":": INPUT "";Q$(I):Q$(I) = LEFT$(Q$(I),159)
300 INPUT "CORRECT ANSWER =";C$(I)
310 IF VAL(C$(I)) <1 OR VAL(C$(I)) >4 THEN PRINT CHR$(7);: GOTO 300
320 NEXT
330 TEXT : HOME
340 FOR I = 1 TO 4: PRINT I;"-> ";A$(I): NEXT
350 FOR I = 1 TO 4: PRINT "QUESTION #";I;": (ANSWER = ";C$(I);")": PRINT Q$(I): NEXT
360 POKE -16368,0: POKE 34,21: HOME
370 PRINT : INVERSE : PRINT " CHANGE: <A>NSWER <Q>UESTION <RTN> OK ": NORMAL
380 INPUT "SELECT: ";Y1$
390 IF LEFT$(Y1$,1) = "A" THEN GOSUB 480
400 IF LEFT$(Y1$,1) = "Q" THEN GOSUB 550
410 IF Y1$ = "" THEN TEXT : GOTO 440
420 PRINT CHR$(7);
430 GOTO 330
440 RN = RN +1: HOME : PRINT "SAVING THIS QUESTION GROUP:"
450 GOSUB 1150
460 GOSUB 1180
470 RETURN
480 REM
490 POKE -16368,0
500 HOME : INPUT "CHANGE ANSWER #";Y$
510 IF Y$ = "" THEN RETURN
520 IF VAL(Y$) <1 OR VAL(Y$) >4 THEN PRINT CHR$(7): GOTO 500
530 HOME : PRINT "NEW ANSWER #";Y$;":": INPUT "";A$( VAL(Y$)):A$( VAL(Y$)) = LEFT$(A$( VAL(Y$)),35)
540 RETURN
550 REM
560 POKE -16368,0
570 HOME : INPUT "CHANGE QUESTION #";Y$
580 IF Y$ = "" THEN RETURN
590 IF VAL(Y$) <1 OR VAL(Y$) >4 THEN PRINT CHR$(7): GOTO 570
600 HOME : PRINT "NEW QUESTION #";Y$;":": INPUT "";Q$( VAL(Y$)):Q$( VAL(Y$)) = LEFT$(Q$( VAL(Y$)),159)
610 INPUT "NEW CORRECT ANSWER =";C$( VAL(Y$))
620 IF VAL(C$( VAL(Y$))) <1 OR VAL(C$( VAL(Y$))) >4 THEN PRINT CHR$(7): GOTO 610
630 RETURN
640 REM
650 HOME : PRINT "INPUT STARTING RECORD NUMBER FOR REVIEW:"
660 INPUT "";Y$
670 IF VAL(Y$) <0 THEN Y$ = "0"
680 IF VAL(Y$) >RN THEN Y$ = STR$(RN)
690 IF Y$ = "" THEN Y$ = "0"
700 J = VAL(Y$): FOR I = J TO RN
710 RI = I: GOSUB 1210
720 IF RN = -1 THEN 820
730 HOME : INVERSE : HTAB 15: PRINT "RECORD #";I: NORMAL
740 PRINT : FOR K = 1 TO 4: PRINT K;"-> ";A$(K): NEXT
750 PRINT : FOR K = 1 TO 4: PRINT "QUESTION #";K;" (ANSWER = ";C$(K);")"
760 PRINT Q$(K): NEXT
770 PRINT : INPUT "EDIT THIS GROUP? (<X> TO EXIT): ";Y$
780 IF Y$ = "X" THEN TT = RN:RN = I: GOSUB 1150::RN = TT: RETURN
790 IF LEFT$(Y$,1) < >"Y" THEN 820
800 GOSUB 840
810 GOTO 730
820 NEXT
830 RETURN
840 REM
850 POKE -16368,0: POKE 34,21: HOME
860 PRINT : INVERSE : PRINT " CHANGE: <A>NSWER <Q>UESTION <RTN> OK ": NORMAL
870 INPUT "SELECT: ";Y1$
880 IF LEFT$(Y1$,1) = "A" THEN GOSUB 480
890 IF LEFT$(Y1$,1) = "Q" THEN GOSUB 550
900 IF Y1$ = "" THEN TEXT : GOTO 1010
910 PRINT CHR$(7);
920 TEXT
930 HOME : INVERSE : HTAB 15: PRINT "RECORD #";I: NORMAL
940 PRINT : FOR K = 1 TO 4: PRINT K;"-> ";A$(K): NEXT
950 PRINT : FOR K = 1 TO 4: PRINT "QUESTION #";K;" (ANSWER =";C$(K);")"
960 PRINT Q$(K): NEXT
970 PRINT : INPUT "EDIT THIS GROUP? (<X> TO EXIT): ";Y$
980 IF LEFT$(Y$,1) = "X" THEN RETURN
990 IF LEFT$(Y$,1) < >"Y" THEN 1010
1000 GOTO 840
1010 HOME : PRINT "SAVING THIS QUESTION GROUP:"
1020 TT = RN:RN = I: GOSUB 1150:RN = TT
1030 RETURN
1040 REM INDEX ERROR TRAP
1050 ER = PEEK(222): IF ER <22 THEN PRINT DOS$"CLOSE"
1060 IF ER < >5 THEN 1320
1070 PRINT CHR$(7): PRINT CHR$(7)
1080 HOME : PRINT "THERE ARE CURRENTLY NO QUESTIONS SAVED": PRINT "ON THIS DISK. PLEASE ENTER THE NAME": PRINT "TO BE USED TO LABEL THIS FILE:"
1090 PRINT : INPUT "";Y$:Y$ = LEFT$(Y$,38)
1100 RN = -1: PRINT DOS$;"OPEN TRIVIA.INDEX": PRINT DOS$;"WRITE TRIVIA.INDEX": PRINT Y$: PRINT RN: PRINT DOS$;"CLOSE TRIVIA.INDEX"
1110 GOTO 110
1120 REM
1130 PRINT DOS$;"OPEN TRIVIA.INDEX": PRINT DOS$;"READ TRIVIA.INDEX": INPUT SL$: INPUT RN: PRINT DOS$;"CLOSE TRIVIA.INDEX"
1140 RETURN
1150 REM
1160 PRINT DOS$;"OPEN TRIVIA.QUES,L800": PRINT DOS$;"WRITE TRIVIA.QUES,R";RN: FOR K = 1 TO 4: PRINT A$(K): NEXT : FOR K = 1 TO 4: PRINT Q$(K): NEXT : FOR K = 1 TO 4: PRINT C$(K): NEXT : PRINT DOS$;"CLOSE TRIVIA.QUES"
1170 RETURN
1180 REM
1190 PRINT DOS$;"OPEN TRIVIA.INDEX": PRINT DOS$;"WRITE TRIVIA.INDEX": PRINT SL$: PRINT RN: PRINT DOS$;"CLOSE TRIVIA.INDEX"
1200 RETURN
1210 REM
1220 IF RN = -1 THEN HOME : PRINT "NO QUESTIONS ON THIS DISK.": PRINT : PRINT "PRESS <RETURN> TO CONTINUE:";: INPUT "";Y$: RETURN
1230 PRINT DOS$;"OPEN TRIVIA.QUES,L800": PRINT DOS$;"READ TRIVIA.QUES,R";RI
1240 FOR K = 1 TO 4: INPUT A$(K): NEXT : FOR K = 1 TO 4: INPUT Q$(K): NEXT : FOR K = 1 TO 4: INPUT C$(K): NEXT
1250 PRINT DOS$;"CLOSE TRIVIA.QUES": RETURN
1260 REM ERROR TRAP
1270 ER = PEEK(222): IF ER <22 THEN PRINT DOS$"CLOSE"
1280 IF ER = 4 THEN PRINT "DISK WRITE PROTECTED": GOTO 1330
1290 IF ER = 8 THEN PRINT "DISK I/O ERROR": GOTO 1330
1300 IF ER = 9 THEN PRINT "DISK FULL": GOTO 1330
1310 IF ER = 10 THEN PRINT "FILE LOCKED": GOTO 1330
1320 PRINT "ERROR #";ER" IN LINE "; PEEK(218) + PEEK(219) *256
1330 PRINT : PRINT "PRESS ANY KEY TO RESTART": GET K$: PRINT : GOTO 110